var ds_contributer = new Ext.data.Store({
	proxy:new Ext.data.HttpProxy({url:'administration_list.action',method:'POST'}),
	reader:new Ext.data.JsonReader({
		root:'manuscriptList',
		totalProperty:'total'},
		[
			{name:'manuscriptId',mapping:'manuscriptId',type:'long'},
			{name:'contributeCompanyName',mapping:'contributeCompany.contributeCompanyName',type:'string'},
			{name:'manuscriptCategoryName',mapping:'manuscriptCategory.manuscriptCategoryName',type:'string'},
			{name:'title',mapping:'title',type:'string'},
			{name:'plannedConsummationTime',mapping:'plannedConsummationTime',type:'long'},
			{name:'importance',mapping:'importance',type:'short'},
			{name:'urgence',mapping:'urgence',type:'short'},
			{name:'securityClassification',mapping:'securityClassification',type:'short'},
			{name:'operation',type:'string'},
			{name : 'status',mapping : 'status',type : 'short'},
			{name : 'type',mapping : 'type',type : 'short'}
		]
	)
});

function totime(value, metadata, record){
    return new Date(value).format('Y-m-d');
}

function tourgence(value){
    switch (value) {
        case 0:
            return "普通";
            break;
        case 5:
            return "紧急";
            break;
        case 10:
            return "非常紧急";
            break;
    }
}

function toimportance(value){
    switch (value) {
        case 0:
            return "普通";
            break;
        case 5:
            return "重要";
            break;
        case 10:
            return "非常重要";
            break;
    }
}

function tosecurityClassification(value){
    switch (value) {
        case 1:
            return "普通";
            break;
        case 2:
            return "秘密";
            break;
        case 3:
            return "机密";
            break;
        case 5:
            return "绝密";
            break;
    }
}

function toSecurityGrade(value){
    switch (value) {
        case 1:
            return "普通";
            break;
        case 2:
            return "秘密";
            break;
        case 3:
            return "机密";
            break;
        case 5:
            return "绝密";
            break;
    }
}

function tolanguage(value){
    switch (value) {
        case 1:
            return "汉语";
            break;
        case 2:
            return "藏语";
            break;
    }
}

function totargetLanguage(value){
    switch (value) {
        case 1:
            return "汉语";
            break;
        case 2:
            return "藏语";
            break;
    }
}

function totexttype(value){
    switch (value) {
        case 0:
            return "纸质稿件";
            break;
        case 0x0100:
            return "电子稿件";
            break;
    }
}

function totype(value) {
	if(value=="DW"){
		return "党委";
	}else if(value=="RD"){
		return "人大";
	}else if(value=="ZF"){
		return "政府";
	}else if(value=="ZX"){
		return "政协";
	}else if(value=="QT"){
		return "其他";
	}else{
		return value;
	}
}

var urgence;
var importance;
var securityClassification;
var language;
var targetLanguage;
var contributeTime;
var plannedConsummationTime;
var type;
var texttype;
function formchange(respText){
    urgence = tourgence(respText.manuscript.urgence);
    importance = toimportance(respText.manuscript.importance);
    securityClassification = tosecurityClassification(respText.manuscript.securityClassification);
    language = tolanguage(respText.manuscript.language);
    targetLanguage = totargetLanguage(respText.manuscript.targetLanguage);
    contributeTime = totime(respText.manuscript.contributeTime, "", "");
    plannedConsummationTime = totime(respText.manuscript.plannedConsummationTime, "", "");
    texttype = totexttype(respText.manuscript.type);
    type = totype(respText.contributeCompany.type);
}
//标识START
var re;
function markchange(value, metadata, record) {
    var title = '&nbsp;密级&nbsp;&nbsp;&nbsp;&nbsp;紧急程度&nbsp;';
    var tip;
    var s1 = "&nbsp;普通&nbsp;&nbsp;&nbsp;&nbsp;";
    var s2 = "&nbsp;秘密&nbsp;&nbsp;&nbsp;&nbsp;";
    var s3 = "&nbsp;机密&nbsp;&nbsp;&nbsp;&nbsp;";
    var s5 = "&nbsp;绝密&nbsp;&nbsp;&nbsp;&nbsp;";
    var u0 = "&nbsp;&nbsp;&nbsp;普通&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;";
    var u5 = "&nbsp;&nbsp;&nbsp;紧急&nbsp;&nbsp;&nbsp;&nbsp;";
    var u10 = "&nbsp;&nbsp;&nbsp;特急";
    var c0 = "&nbsp<img src='images/clock_blue.gif'  />&nbsp";// 普通urgence
    var c5 = "&nbsp<img src='images/clock_green.gif' />&nbsp";// 紧急
    var c10 = "&nbsp<img src='images/clock_red.gif' />&nbsp";// 特急
    var l1 = "&nbsp<img src='images/lock_blue.gif'  />&nbsp";// 普通securityClassification
    var l2 = "&nbsp<img src='images/lock_gold.gif'/>&nbsp"; // 秘密
    var l3 = "&nbsp<img src='images/lock_green.gif' />&nbsp";// 机密
    var l5 = "&nbsp<img src='images/lock_red.gif'  />&nbsp";// 绝密
    switch (record.data.securityClassification) {
        case 1:
            switch (record.data.urgence) {
                case 0:
                	re = l1 + c0;
                    tip = s1 + u0;
                    break;
                case 5:
                	re = l1 + c5 ;
                    tip = s1 + u5;
                    break;
                case 10:
                	re = l1 + c10;
                    tip = s1 + u10;
                    break;
            }
            break;
        case 2:
            switch (record.data.urgence) {
                case 0:
                	re = l2 + c0;
                    tip = s2 + u0;
                    break;
                case 5:
                	re = l2 + c5;
                    tip = s2 + u5;
                    break;
                case 10:
                	re = l2 + c10;
                    tip = s2 + u10;
                    break;
            }
            break;
        case 3:
            switch (record.data.urgence) {
	            case 0:
	            	re = l3 + c0;
	                tip = s3 + u0;
	                break;
	            case 5:
	            	re = l3 + c5;
	                tip = s3 + u5;
	                break;
	            case 10:
	            	re = l3 + c10;
	                tip = s3 + u10;
	                break;
            }
            
            break;
        case 5:
            switch (record.data.urgence) {
	            case 0:
	            	re = l5 + c0;
	                tip = s5 + u0;
	                break;
	            case 5:
	            	re = l5 + c5;
	                tip = s5 + u5;
	                break;
	            case 10:
	            	re = l5 + c10;
	                tip = s5 + u10;
	                break;
	            }
            break;
    }
    metadata.attr = 'ext:qtitle="' + title + '"' + ' ext:qtip="' + tip + '"';
    return re;
}   
//标识END
function changeRemark(respText){
    return "<div align=\"center\"><a href='javascript:void(0)'  onclick=javascript:showRemark('" + respText.manuscript.manuscriptId + "')>备注详情</a></div>";
}

window.showRemark = function(v){
    Ext.Ajax.request({
        url: 'manuscript_Contributer_view.action',
        method: 'post',
        params: {
            manuscriptId: v
        },
        success: function(resp, opts){
            var respText = Ext.util.JSON.decode(resp.responseText);
            if (respText.success) {
                var window_remark = new Ext.Window({
                    title: '备注详情',
                    closable: false,
                    width: 600,
                    resizable: false,
                    height: 400,
                    iconCls: 'manuscript',
                    modal: true,
                    constrain: true,
                    closeAction: 'close',
                    layout: 'fit',
                    items: [{
                        xtype: 'htmleditor',
                        enableAlignments: false,
                        enableColors: false,
                        enableFont: false,
                        enableFontSize: false,
                        enableFormat: false,
                        enableLinks: false,
                        enableLists: false,
                        enableSourceEdit: false,
                        readOnly: true,
                        value: respText.manuscript.remark
                    }],
                    buttons: [{
                        text: '关闭',
                        handler: function(){
                            window_remark.close();
                        }
                    }]
                
                
                }).show();
            }
        },
        failure: function(){
            Ext.Msg.show({
                title: '错误提示',
                msg: '查看失败!',
                buttons: Ext.Msg.OK,
                icon: Ext.Msg.ERROR,
                width: 200
            });
        }
    })
};

window.showManuscript = function(needParam) {
	Ext.Ajax.request({
		url : 'manuscript_Contributer_view.action',
		method : 'post',
		params : {
			manuscriptId : needParam
		},
		success : function(resp, opts) {
			var respText = Ext.util.JSON.decode(resp.responseText);
			if (respText.success) {
				formchange(respText);
				var mywindow = new Ext.Window({
					title : '稿件详情',
					constrain: true,
					width : 600,
					resizable : false,
					autoHeight : true,
					closable : false,
					modal : true,
					iconCls:'manuscript',
					closeAction : 'hide',
					items : [new Ext.FormPanel({
						border : false,
						labelAlign : 'right',
						plain:true,
						labelWidth : 100,
						frame : true,
						items : [{
							fieldLabel : '稿件标题',
							xtype : 'textfield',
							readOnly : true,
							value : respText.manuscript.title,
							width : 426,
							itemCls:'unedit'
						}, {
							autoHeight : true,
							xtype : 'textfield',
							fieldLabel : '投稿单位',
							readOnly : true,
							value : respText.contributeCompany.contributeCompanyName,
							itemCls:'form_text unedit'
						}, {
							autoHeight : true,
							xtype : 'textfield',
							fieldLabel : '投稿单位类型',
							readOnly : true,
							value : type,
							itemCls:'form_text unedit'
						}, {
							autoHeight : true,
							xtype : 'textfield',
							fieldLabel : '投稿人',
							readOnly : true,
							value : respText.contributeCompanyPerson.name,
							itemCls:'form_text unedit'
						}, {
							autoHeight : true,
							xtype : 'textfield',
							fieldLabel : '稿件编号',
							readOnly : true,
							value : respText.manuscript.manuscriptCode,
							itemCls:'form_text unedit'
						}, {
							autoHeight : true,
							xtype : 'textfield',
							fieldLabel : '投稿人手机',
							readOnly : true,
							value : respText.contributeCompanyPerson.mobilePhone,
							itemCls:'form_text unedit'
						}, {
							autoHeight : true,
							xtype : 'textfield',
							fieldLabel : '投稿人邮箱',
							readOnly : true,
							value : respText.contributeCompanyPerson.email,
							itemCls:'form_text unedit'
						}, {
							autoHeight : true,
							xtype : 'textfield',
							fieldLabel : '稿件分类',
							readOnly : true,
							value : respText.manuscriptCategory.manuscriptCategoryName,
							itemCls:'form_text unedit'
						}, {
							autoHeight : true,
							xtype : 'textfield',
							fieldLabel : '紧急程度',
							readOnly : true,
							value : urgence,
							itemCls:'form_text unedit'
						}, {
							autoHeight : true,
							xtype : 'textfield',
							fieldLabel : '文档类型',
							readOnly : true,
							value : texttype,
							itemCls:'form_text unedit'
						}, {
							autoHeight : true,
							xtype : 'textfield',
							fieldLabel : '重要性',
							readOnly : true,
							value : importance,
							itemCls:'form_text unedit'
						}, {
							autoHeight : true,
							xtype : 'textfield',
							fieldLabel : '原稿文种',
							readOnly : true,
							value : language,
							itemCls:'form_text unedit'
						}, {
							autoHeight : true,
							xtype : 'textfield',
							fieldLabel : '密级',
							readOnly : true,
							value : securityClassification,
							itemCls:'form_text unedit'
						}, {
							autoHeight : true,
							xtype : 'textfield',
							fieldLabel : '目标语言',
							readOnly : true,
							value : targetLanguage,
							itemCls:'form_text unedit'
						}, {
							autoHeight : true,
							xtype : 'textfield',
							fieldLabel : '预估字数',
							readOnly : true,
							value : respText.manuscript.wordNum,
							itemCls:'form_text unedit'
						}, {
							autoHeight : true,
							xtype : 'textfield',
							fieldLabel : '投稿时间',
							readOnly : true,
							value : contributeTime,
							itemCls:'form_text unedit'
						}, {
							autoHeight : true,
							xtype : 'textfield',
							fieldLabel : '计划完成时间',
							readOnly : true,
							value : plannedConsummationTime,
							itemCls:'form_text unedit'
						},{
								autoHeight : true,
								xtype : 'textfield',
								itemCls : 'form_text unedit',
								fieldLabel : '创建人姓名',
								value : respText.manuscript.creatorName,
								readOnly : true
							}, {
								autoHeight : true,
								xtype : 'textfield',
								itemCls : 'form_text unedit',
								fieldLabel : '创建时间',
								value : formatTime(respText.manuscript.createdTimestamp,"",""),
								readOnly : true
							},{
								autoHeight : true,
								xtype : 'textfield',
								itemCls : 'form_text unedit',
								fieldLabel : '最后修改人',
								value : respText.manuscript.lastModifierName,
								readOnly : true
							}, {
								autoHeight : true,
								xtype : 'textfield',
								itemCls : 'form_text unedit',
								fieldLabel : '最后修改时间',
								value : formatTime(respText.manuscript.lastModifiedTimestamp,"",""),
								readOnly : true
							}, {
                            fieldLabel: '备注',
                            xtype: 'panel',
                            width: 425,
                            itemCls: 'clear',
                            html: changeRemark(respText)
                        }],
						buttons : [{
				     		text : '关闭',
				     		handler : function() {
								mywindow.hide();
							}
				     	}]
					})
				]
				}).show();
			} else {
				Ext.Msg.show({
						title : '错误提示',
						msg : respText.erroeMessage,
						buttons : Ext.Msg.OK,
						icon : Ext.Msg.ERROR,
						width : 200
					});
			}
		},
		failure : function() {
			Ext.Msg.show({
						title : '错误提示',
						msg : '加载失败!',
						buttons : Ext.Msg.OK,
						icon : Ext.Msg.ERROR,
						width : 200
					});
		}
	});
};

window.downloadManuscript = function(needParam, downloadType){
	Ext.Ajax.request({
        url: 'manuscriptByContributer_download.action',
        method: 'post',
        params: {
            manuscriptId: needParam,
            downloadType : downloadType
        },
        success: function(resp, opts){
            var respText = Ext.util.JSON.decode(resp.responseText);
        	if(respText.success){
        		if(respText.entityPaths == null || '' == respText.entityPaths){
        			Ext.Msg.show({
		                title: '错误提示',
		                msg: '没有附件!',
		                buttons: Ext.Msg.OK,
		                icon: Ext.Msg.ERROR,
		                width: 200
		            });
		            return;
        		}
	            var path = "download.action?inputPath=" + respText.entityPaths + "&refEntityId=" + respText.refEntityId + "&refEntityType=" + respText.refEntityType;
    			window.location.href = path;
        	}else{
        		Ext.Msg.show({
	                title: '错误提示',
	                msg: respText.errorMessage,
	                buttons: Ext.Msg.OK,
	                icon: Ext.Msg.ERROR,
	                width: 200
	            });
        	}
        },
        failure: function(){
            Ext.Msg.show({
                title: '错误提示',
                msg: '没有附件!',
                buttons: Ext.Msg.OK,
                icon: Ext.Msg.ERROR,
                width: 200
            });
        }
    });
}

var cm_contributer= new Ext.grid.ColumnModel([
  	new Ext.grid.RowNumberer(),
	{header:'稿件标题',dataIndex:'title',sortable:true,renderer:function(value, metadata, record)
		{
    	 	return "<a href = 'javascript:void(0)' onclick=javascript:showManuscript('" + record.data.manuscriptId + "')>" + escapeHTML(value) + "</a>";
		}
	},
	{header:'投稿单位',dataIndex:'contributeCompanyName',sortable:true},
	{header:'稿件分类',dataIndex:'manuscriptCategoryName',sortable:true},
	{header:'计划完成时间',dataIndex:'plannedConsummationTime',sortable:true,renderer: function change(value, metadata, record){
	        return totime(value, metadata, record);
	    }
	},
	{header:'标识',sortable:true,renderer: function drawmark(value, metadata, record){
	        return markchange(value, metadata, record);
	    }
	},
	{header:"操作",width:120,dataIndex:'operation',renderer:function(value, metadata, record)
		{
			if(record.data.status == 9 || record.data.status==10){
				if(record.data.type == 0){
					return "<font color='grey'>原稿</font>&nbsp;&nbsp;&nbsp;"
				 		+"<a href = 'javascript:void(0)' onclick=javascript:downloadManuscript('"+record.data.manuscriptId+"','2')>完成稿</a>";
				}else{
				 	return "<a href = 'javascript:void(0)' onclick=javascript:downloadManuscript('"+record.data.manuscriptId+"','1')>原稿</a>&nbsp;&nbsp;&nbsp;"
				 		+"<a href = 'javascript:void(0)' onclick=javascript:downloadManuscript('"+record.data.manuscriptId+"','2')>完成稿</a>";
				}
			}else{
				if(record.data.type == 0){
					return "<font color='grey'>原稿</font>&nbsp;&nbsp;&nbsp;"
				 		+"<font color='grey'>完成稿</font>";
				}else{
					return "<a href = 'javascript:void(0)' onclick=javascript:downloadManuscript('"+record.data.manuscriptId+"','1')>原稿</a>&nbsp;&nbsp;&nbsp;"
				 		+"<font color='grey'>完成稿</font>";
				}
			}
		}
	}
]);

var grid_contributer = new Ext.grid.GridPanel({
	title : '交稿工作管理 ',
	loadMask : {msg : '数据加载中...'},
	ds:ds_contributer,
	store:ds_contributer,
	region : 'center',
	autoScroll: true,
	cm:cm_contributer,
	autoExpandColumn : 1,
	bbar : new Ext.PagingToolbar({
		pageSize : 20,
		store : ds_contributer,
		displayInfo : true,
		beforePageText:'第',
		afterPageText:'页-共{0}页',
		displayMsg : '显示{0} - {1} 条  共 {2} 条',
		emptyMsg : "没有记录"
	})
});

ds_contributer.load({params:{start:0,limit:20}});

var l_contributer = {
	id : 'contributer-administration',
	border : false,
	layout : 'border',
	items : [grid_contributer]
};

Ext.getCmp('content-panel').add(l_contributer);
Ext.getCmp('content-panel').layout.setActiveItem('contributer-administration');